package com.gec;

import com.gec.drools.pojo.GlobalScore;
import com.gec.drools.pojo.Order;
import org.junit.jupiter.api.Test;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
public class Demo {

    @Autowired
    private KieContainer kieContainer;

    @Test
    public void test3(){
        //创建会话
        KieSession kieSession = kieContainer.newKieSession();
        //把对象放到会话中
        Order order = new Order();
        order.setAmout(30);
        //设置全局对象
        GlobalScore globalScore = new GlobalScore();
        kieSession.setGlobal("globalScore", globalScore);
        kieSession.insert(order);
        //激活所有规则
        kieSession.fireAllRules();
        //关闭会话
        kieSession.dispose();
        System.out.println("订单积分"+globalScore.getScore());
    }
    @Test
    public void test(){
        //创建会话
        KieSession kieSession = kieContainer.newKieSession();
        //把对象放到会话中
        Order order = new Order();
        order.setAmout(30);
        kieSession.insert(order);
        //激活所有规则
        kieSession.fireAllRules();
        //关闭会话
        kieSession.dispose();
        System.out.println("订单积分"+order.getScore());
    }
    @Test
    public void test2(){
        KieSession kieSession = kieContainer.newKieSession();
        kieSession.fireAllRules();
        kieSession.dispose();
    }
}
